Illumination systems for illuminating a space with a variable color are generally known. Generally, such systems comprise a plurality of light sources, each light source emitting light with a specific color, the respective colors of the different light sources being mutually different. The overall light generated by the system as a whole is then a mixture of the light emitted by the several light sources. By changing the relative intensities of the different light sources, the color of the overall light mixture can be changed.
It is noted that the light sources can be of different type, such as for instance TL lamp, halogen lamp, LED, etc. In the following, simply the word “lamp” will be used, but this is not intended to exclude LEDs.
By way of an example of a variable color illumination system, an illumination system in a theatre is mentioned. During a show, it may be desirable to change the color of the lighting. However, also in the case of homes, shops, restaurants, hotels, schools, hospitals, etc., it may be desirable to be able to change the color of the lighting. In the case of a theatre or the like, the colors are typically changed with a view to enhance dramatic effects, but in other situations it may be more desirable to have smooth and slow transitions.
As should be clear to a person skilled in the art, the color of light can be represented by coordinates of a color point in a color space. In such representation, changing a color corresponds to a displacement from one color point to another color point in the color space, or a displacement of the setting of the color point of the system. Further, a sequence of colors corresponds to a collection of color points in the color space, which collection will be indicated as a path. Dynamically changing the colors can then be indicated as “traveling” such path. More in general, dynamically changing the colors of lighting will be indicated as “navigating” through the color space.
Typically, an illumination system comprises three lamps. Usually, these lamps are close-to-red (R), close-to-green (G), close-to-blue (B), and the system is indicated as an RGB system. For each lamp, the light intensity can be represented as a number from 0 (no light) to 1 (maximum intensity). A color point can be represented by three-dimensional coordinates (ξ1, ξ2, ξ3), each coordinate in a range from 0 to 1 corresponding in a linear manner to the relative intensity of one of the lamps. The color points of the individual lamps can be represented as (1,0,0), (0,1,0), (0,0,1), respectively. These points describe a triangle in the color space. All colors within this triangle can be generated by the system.
In theory, the color space can be considered as being a continuum. In practice, however, a controller of an illumination system is a digital controller, capable of generating discrete control signals only. When a user wishes to navigate through the color space with a system comprising such digital controller, he can only take discrete steps in the direction of one of the coordinates. A problem is that the RGB color space is not a linear space, so that, when taking a discrete step of a certain size along one of the color intensity coordinate axes, the amount of color change perceived by the user is not constant but depends on the actual position within the color space.
In order to solve this problem, different representations of the color space have been proposed, such as the CIELAB color space, where the independent variables are hue (H), saturation (S; in CIELAB calculated with S=Chroma/Lightness), brightness (B; in CIELAB calculated from Lightness). Because of the perceptual uniformity of Lightness (i.e. a linear change of Lightness level is also perceived as a linear change of light intensity level by the user), it is advantageous to use this parameter instead of Brightness. However, to generalize the description the parameter “Brightness” will be used in the explanation next, which values are also described with a perceptual uniform distribution (e.g. in u′V′Y space, with “Y” describing intensity, perceptual uniform Brightness distribution is logarithm (Y)). The CIELAB color space can be seen as a three-dimensional space of discrete points (3D grid). Each point in this space can be represented by coordinates m, n, p, and in each point the hue (H), saturation (S), Brightness (B) have specific values H(m,n,p), S(m,n,p), B(m,n,p), respectively. A user can take a discrete step along any of the three coordinate axes, resulting in predefined and constant changes in hue, saturation or Brightness, respectively, as long as the color is inside the outer boundary of the color space (color gamut). In principle, the variables hue, saturation and Brightness are independent from each other. However, not all combinations of possible values for hue, saturation and Brightness correspond to physically possible colors. In a state of the art implementation, the system comprises three 3D lookup tables for hue, saturation and Brightness, respectively. With such 3D lookup tables, an advantage is that it is easily possible to consider, for each combination of m, n, and p, whether or not the resulting combination of H, S and B corresponds to a physically possible color, and to enter a deviating value in the tables if necessary. For memory locations where the combination of H, S and B would result in physically impossible colors, the tables may contain a specific code, or they may contain values of a different color, for instance the closest value of the color space boundary.
A problem, however, is that such solution with 3D lookup tables requires a relatively large amount of memory space. In an exemplary situation, the system allows for independent setting of the brightness in 25 possible brightness levels, the saturation in 75 possible saturation levels, and the hue in 200 possible hue values. In such situation, the system requires 3*200*75*25=1125000 memory locations (over 1 MByte).
The invention aims to reduce the amount of memory space needed, so that low cost microcontrollers with limited memory space can be used. A further objective of the invention is to provide a more efficient manner of storing color values of an (H,S,B) table, allowing for a simple navigation method through the (H,S,B) table along lines of constant Hue, Saturation or Brightness.